<?php
/**
 * Created by: zhaoyi (834574377@qq.com)
 * Time: 2023/1/4 10:29
 * Blog: https://www.yuque.com/huangzhenlian
 */

declare(strict_types=1);

namespace App\Application\Admin\Controller\RequestParam;

use App\Annotation\RequestParam;
use App\Controller\RequestParam\BaseRequestParam;

#[RequestParam]
class StoreSubmitRequestParam extends BaseRequestParam
{
    protected array $rules = [
        'store_name' => 'required',
        'name' => 'required',
        'head_url' => 'required',
        'city_id' => 'required',
        'mobile' => 'required',
        'address' => 'required',
        'latitude' => 'required',
        'longitude' => 'required',
        'status' => 'required',
        'time' => 'required|numeric|between:1,90',
        'sub_mch_id' => 'required',
        'member_id' => 'required',
    ];
    protected array $message = [
        'store_name.required' => '请输入门店名称',
        'name.required' => '请输入联系人',
        'head_url.required' => '请提交门面图',
        'mobile.required' => '请输入联系号码',
        'city_id.required' => '请选择省市县地址',
        'address.required' => '请输入街道地址',
        'latitude.required' => '请输入地址经度',
        'longitude.required' => '请输入地址维度',
        'status.required' => '请选择门店状态',
        'time.required' => '请输入控电时长',
        'time.numeric' => '控电时长为数字',
        'time.between' => '控电时长最大值为90分钟',
        'sub_mch_id.required' => '请输入收款商户号',
        'member_id.required' => '请输入用户ID号',
    ];
    private int $store_id = 0;
    private string $store_name = '';
    private string $name = '';
    private string $logo = '';
    private array $head_url = [];
    private string $mobile = '';
    private int $city_id = 0;
    private string $address = '';

    private string $latitude = '';
    private string $longitude = '';

    private int $status = 0;
    private int $store_type = 1;
    private int $time = 60;
    private int $member_id = 0;
    private string $sub_mch_id = '';
    private string $notice = '';
    /**
     * @return int
     */
    public function getStoreId(): int
    {
        return $this->store_id;
    }
    /**
     * @return int
     */
    public function getMemberId(): int
    {
        return $this->member_id;
    }
    /**
     * @return string
     */
    public function getName(): string
    {
        return $this->name;
    }

    /**
     * @return string
     */
    public function getStoreName(): string
    {
        return $this->store_name;
    }

    /**
     * @return array
     */
    public function getHeadUrl(): array
    {
        return $this->head_url;
    }
    /**
     * @return string
     */
    public function getLogo(): string
    {
        return $this->logo;
    }

    /**
     * @return string
     */
    public function getMobile(): string
    {
        return $this->mobile;
    }

    /**
     * @return int
     */
    public function getCity_id(): int
    {
        return $this->city_id;
    }

    /**
     * @return string
     */
    public function getAddress(): string
    {
        return $this->address;
    }

    /**
     * @return string
     */
    public function getLatitude(): string
    {
        return $this->latitude;
    }

    /**
     * @return string
     */
    public function getLongitude(): string
    {
        return $this->longitude;
    }

    /**
     * @return int
     */
    public function getStatus(): int
    {
        return $this->status;
    }
    /**
     * @return int
     */
    public function getStore_type(): int
    {
        return $this->store_type;
    }
    /**
     * @return int
     */
    public function getTime(): int
    {
        return $this->time;
    }

    /**
     * @return string
     */
    public function getSubMchId(): string
    {
        return $this->sub_mch_id;
    }
    /**
     * @return string
     */
    public function getNotice(): string
    {
        return $this->notice;
    }
}